package com.common.base.widget

import android.content.Context
import android.util.AttributeSet
import android.view.MotionEvent
import androidx.core.widget.NestedScrollView


/**
 *
 * 作者：sosou
 *
 * 版本：1.0
 *
 * 创建日期：10/6/2025
 *
 * 描述：禁止滑动NestedScrollView
 *
 * 修订历史：
 *
 */
class NoScrollNestedScrollView : NestedScrollView {
    private var isScrollable = true // 默认可滑动

    constructor(context: Context?) : super(context!!) {}
    constructor(context: Context?, attrs: AttributeSet?) : super(
        context!!, attrs
    ) {
    }

    constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(
        context!!, attrs, defStyleAttr
    ) {
    }

    override fun onTouchEvent(ev: MotionEvent): Boolean {
        // 如果isScrollable为false，禁止滑动
        return if (isScrollable) super.onTouchEvent(ev) else false
    }

    override fun onInterceptTouchEvent(ev: MotionEvent): Boolean {
        return isScrollable && super.onInterceptTouchEvent(ev)
    }

    fun setScrollable(scrollable: Boolean) {
        isScrollable = scrollable
    }
}